package org.jeecg.modules.charge.entity;

import java.io.Serializable;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Description: 票据入库
 * @Author: jeecg-boot
 * @Date:   2019-08-08
 * @Version: V1.0
 */
@Data
@TableName("charge_invoice_inhouse")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="charge_invoice_inhouse对象", description="票据入库")
public class ChargeInvoiceInhouse {
    
	/**id*/
	@TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "id")
	private java.lang.String id;
	/**票据入库单编号*/
	@Excel(name = "票据入库单编号", width = 15)
    @ApiModelProperty(value = "票据入库单编号")
	private java.lang.String groupNo;
	/**票据入库单编号*/
	@Excel(name = "字", width = 15)
	@ApiModelProperty(value = "字(用于拼接编号，作为区分)")
	private java.lang.String word;
	/**票据类型名称*/
	@Excel(name = "票据类型名称", width = 15)
    @ApiModelProperty(value = "票据类型名称")
	private java.lang.String typeName;
	/**票据类型编号*/
	@Excel(name = "票据类型编号", width = 15)
    @ApiModelProperty(value = "票据类型编号")
	private java.lang.String typeNum;
	/**每本份数*/
	@Excel(name = "每本份数", width = 15)
    @ApiModelProperty(value = "每本份数")
	private java.lang.Integer everyNums;
	/**起始编号*/
	@Excel(name = "起始编号", width = 15)
    @ApiModelProperty(value = "起始编号")
	private java.lang.String startNum;
	/**终止编号*/
	@Excel(name = "终止编号", width = 15)
    @ApiModelProperty(value = "终止编号")
	private java.lang.String endNum;
	/**核销人*/
	@Excel(name = "核销人", width = 15)
    @ApiModelProperty(value = "核销人")
	private java.lang.String cancelUser;
	/**核销时间*/
	@Excel(name = "核销时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "核销时间")
	private java.util.Date cancelDate;
	/**领用时间*/
	@Excel(name = "领用时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "领用时间")
	private java.util.Date useDate;
	/**入库时间*/
	@Excel(name = "入库时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "入库时间")
	private java.util.Date inDate;
	/**状态(在库,领用等)0:在库 1:领用*/
	@Excel(name = "状态(在库,领用等)0:在库 1:领用", width = 15)
    @ApiModelProperty(value = "状态(在库,领用等)0:在库 1:领用")
	@Dict(dicCode = "charge_status")
	private java.lang.String status;
	/**流水号*/
	@Excel(name = "流水号", width = 15)
    @ApiModelProperty(value = "流水号")
	private java.lang.Integer serNum;
	/**管理组编号*/
	@Excel(name = "管理组编号", width = 15)
    @ApiModelProperty(value = "管理组编号")
	private java.lang.String groupNum;
	/**创建者*/
	@Excel(name = "创建者", width = 15)
    @ApiModelProperty(value = "创建者")
	private java.lang.String createBy;
	/**创建时间*/
	@Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
	private java.util.Date createTime;
	/**更新者*/
	@Excel(name = "更新者", width = 15)
    @ApiModelProperty(value = "更新者")
	private java.lang.String updateBy;
	/**更新时间*/
	@Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
	private java.util.Date updateTime;
	/**备注信息*/
	@Excel(name = "备注信息", width = 15)
    @ApiModelProperty(value = "备注信息")
	private java.lang.String remarks;
	/**删除标记*/
	@TableLogic
	@Excel(name = "删除标记", width = 15)
    @ApiModelProperty(value = "删除标记")
	private java.lang.String delFlag;

	/**每本金额*/
	@Excel(name = "每本金额", width = 15)
	@ApiModelProperty(value = "金额")
	private java.lang.Double money;

	@TableField(exist = false)
	private java.lang.String many;

	/**使用状态*/
	@TableField(exist = false)
	private String isMake;

    /**票据范围*/
    @TableField(exist = false)
    private String startEndNum;

	@TableField(exist = false)
	private Integer openInvoice;//已开票数

	@TableField(exist = false)
	private Integer romeInvoice;//作废票数

	@TableField(exist = false)
	private Integer unuserd;//未使用票数

	@TableField(exist = false)
	private Double sumMoney;//开票合计金额

	@TableField(exist = false)
	private List<String> houseIds;

	@TableField(exist = false)
	private List<String> groupNos;


	@TableField(exist = false)
	private java.lang.String startskrq;

	@TableField(exist = false)
	private java.lang.String endskrq;

	/**核销状态*/
	@TableField(exist = false)
	private java.lang.String cancelStart;

	/**是否默认生成编号*/
	@TableField(exist = false)
	private java.lang.String isInvoiceDM;

}
